A user will often perform a query search to lookup information on the Web or from some other data sources. A query search begins with a client receiving the query string, which is sent to a search server. The search server receives query string and searches a search index for results that match this query string. The search server then returns the results to the client.
In this scheme, in order to do a search, the user needs to enter a query string that is used for the search request. As the user starts to enter the query string, the client may provide query completions that are based on the query prefix entered by the user. The client, however, does not suggest types of query strings to use for a search based on the types of terms being presented to the user via one or more user interfaces for one or more running applications of the client. For example, a user may be interacting with one or more other people using a messaging application discussing plans for going out (e.g., seeing a movie, finding a restaurant, etc.). The text of the messaging application may include terms for certain movies to see or restaurants to go to. If the user wishes to make a search about these movies or restaurants, the user will need to enter the query search string to perform a search for these movies or restaurants.